package com.cskaoyan._02handle._06define;

import java.util.Scanner;

/**
 * @description:
 * @author: 景天
 * @date: 2023/2/16 17:53
 **/
/*
考试成绩必须在0-100分之间，如果有考试成绩不在这个范围之内，则认为成绩异常。

对于以上的异常，Java语言中显然没有一个对应的“考试分数异常超出范围”的异常，因此该异常需要我们自己来定义。
 */
public class Demo {
    public static void main(String[] args) {
        try {
            func();
        } catch (MyException e) {
            System.out.println(e.toString());
        }


    }

    private static void func() throws MyException {
        System.out.println("请输入一个分数:");
        Scanner scanner = new Scanner(System.in);
        int i = scanner.nextInt();
        // 判断分数是否合法
        // 不满足要求抛出异常
        if (i < 0 || i > 100) {
            // 抛出异常
            // 编译时异常
           // throw new MyException("分数不合法");
            throw new MyException2("分数不合法");
        }
    }
}

// 自定义编译时异常
class MyException extends Exception{
    public MyException() {
    }

    public MyException(String message) {
        super(message);
    }
}


// 自定义运行时异常
class MyException2 extends RuntimeException{
    public MyException2() {
    }

    public MyException2(String message) {
        super(message);
    }
}